#pragma once
#include "vector3.h"
#include "mesh.h"

namespace krryn{
namespace system{
	class renderer;
}
namespace scene{
	class mesh_procedural{
	public:
//		mesh_procedural(renderer *a_Renderer);
		mesh *create_sphere(const math::vector3f &a_Size, int a_Level) const;
		mesh *create_cube(const math::vector3f &a_Size) const;
		mesh *create_quad(const math::vector3f &a_Size) const;
	private:
//		renderer *m_Renderer;
	};
}
}

// TODO:
//  - Make vertex SoA
//  - Add option to add extra texture buffers
//  - Create index, vertex and texture buffers though renderer